package com.minglv.mini.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;

public class Activity extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 活动名称 */
    @Excel(name = "活动名称")
    private String title;

    /** 参与用户等级 */
    @Excel(name = "参与用户等级")
    private Long userLevel;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String desc;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String province;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String city;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String zone;

    /** 地址 */
    @Excel(name = "地址")
    private String address;

    /** 参与人数 */
    @Excel(name = "参与人数")
    private Long num;

    /** 参与费用 */
    @Excel(name = "参与费用")
    private BigDecimal price;

    /** 参与积分 */
    @Excel(name = "参与积分")
    private String jf;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String imgs;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String shareImg;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date signTime;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String content;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String speaker;

    /** 报名积分 */
    @Excel(name = "报名积分")
    private String signJf;

    /** 评价积分 */
    @Excel(name = "评价积分")
    private String evaluateJf;

    /** 1正常0不显示 */
    @Excel(name = "1正常0不显示")
    private Integer status;

    /** 0未开始，1进行中，2已结束 */
    @Excel(name = "0未开始，1进行中，2已结束")
    private Integer activeStatus;

    /** kefu */
    @Excel(name = "kefu")
    private String kf;

    /** 分享量 */
    @Excel(name = "分享量")
    private Long shareTimes;

    /** 浏览量 */
    @Excel(name = "浏览量")
    private Long views;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Long sort;

    /** 是否推荐 */
    @Excel(name = "是否推荐")
    private Integer isIndex;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createdAt;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updatedAt;

    /**
     * 报名人数
     */
    private Integer applyNum;

    public void setApplyNum(Integer applyNum) {
        this.applyNum = applyNum;
    }

    public Integer getApplyNum() {
        return applyNum;
    }


    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }

    public void setTitle(String title)
    {
        this.title = title;
    }

    public String getTitle()
    {
        return title;
    }

    public void setUserLevel(Long userLevel)
    {
        this.userLevel = userLevel;
    }

    public Long getUserLevel()
    {
        return userLevel;
    }

    public void setDesc(String desc)
    {
        this.desc = desc;
    }

    public String getDesc()
    {
        return desc;
    }

    public void setProvince(String province)
    {
        this.province = province;
    }

    public String getProvince()
    {
        return province;
    }

    public void setCity(String city)
    {
        this.city = city;
    }

    public String getCity()
    {
        return city;
    }

    public void setZone(String zone)
    {
        this.zone = zone;
    }

    public String getZone()
    {
        return zone;
    }

    public void setAddress(String address)
    {
        this.address = address;
    }

    public String getAddress()
    {
        return address;
    }

    public void setNum(Long num)
    {
        this.num = num;
    }

    public Long getNum()
    {
        return num;
    }

    public void setPrice(BigDecimal price)
    {
        this.price = price;
    }

    public BigDecimal getPrice()
    {
        return price;
    }

    public void setJf(String jf)
    {
        this.jf = jf;
    }

    public String getJf()
    {
        return jf;
    }

    public void setImgs(String imgs)
    {
        this.imgs = imgs;
    }

    public String getImgs()
    {
        return imgs;
    }

    public void setShareImg(String shareImg)
    {
        this.shareImg = shareImg;
    }

    public String getShareImg()
    {
        return shareImg;
    }

    public void setStartTime(Date startTime)
    {
        this.startTime = startTime;
    }

    public Date getStartTime()
    {
        return startTime;
    }

    public void setEndTime(Date endTime)
    {
        this.endTime = endTime;
    }

    public Date getEndTime()
    {
        return endTime;
    }

    public void setSignTime(Date signTime)
    {
        this.signTime = signTime;
    }

    public Date getSignTime()
    {
        return signTime;
    }

    public void setContent(String content)
    {
        this.content = content;
    }

    public String getContent()
    {
        return content;
    }

    public void setSpeaker(String speaker)
    {
        this.speaker = speaker;
    }

    public String getSpeaker()
    {
        return speaker;
    }

    public void setSignJf(String signJf)
    {
        this.signJf = signJf;
    }

    public String getSignJf()
    {
        return signJf;
    }

    public void setEvaluateJf(String evaluateJf)
    {
        this.evaluateJf = evaluateJf;
    }

    public String getEvaluateJf()
    {
        return evaluateJf;
    }

    public void setStatus(Integer status)
    {
        this.status = status;
    }

    public Integer getStatus()
    {
        return status;
    }

    public void setActiveStatus(Integer activeStatus)
    {
        this.activeStatus = activeStatus;
    }

    public Integer getActiveStatus()
    {
        return activeStatus;
    }

    public void setKf(String kf)
    {
        this.kf = kf;
    }

    public String getKf()
    {
        return kf;
    }

    public void setShareTimes(Long shareTimes)
    {
        this.shareTimes = shareTimes;
    }

    public Long getShareTimes()
    {
        return shareTimes;
    }

    public void setViews(Long views)
    {
        this.views = views;
    }

    public Long getViews()
    {
        return views;
    }

    public void setSort(Long sort)
    {
        this.sort = sort;
    }

    public Long getSort()
    {
        return sort;
    }

    public void setIsIndex(Integer isIndex)
    {
        this.isIndex = isIndex;
    }

    public Integer getIsIndex()
    {
        return isIndex;
    }

    public void setCreatedAt(Date createdAt)
    {
        this.createdAt = createdAt;
    }

    public Date getCreatedAt()
    {
        return createdAt;
    }

    public void setUpdatedAt(Date updatedAt)
    {
        this.updatedAt = updatedAt;
    }

    public Date getUpdatedAt()
    {
        return updatedAt;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("title", getTitle())
                .append("userLevel", getUserLevel())
                .append("desc", getDesc())
                .append("province", getProvince())
                .append("city", getCity())
                .append("zone", getZone())
                .append("address", getAddress())
                .append("num", getNum())
                .append("price", getPrice())
                .append("jf", getJf())
                .append("imgs", getImgs())
                .append("shareImg", getShareImg())
                .append("startTime", getStartTime())
                .append("endTime", getEndTime())
                .append("signTime", getSignTime())
                .append("content", getContent())
                .append("speaker", getSpeaker())
                .append("signJf", getSignJf())
                .append("evaluateJf", getEvaluateJf())
                .append("status", getStatus())
                .append("activeStatus", getActiveStatus())
                .append("kf", getKf())
                .append("shareTimes", getShareTimes())
                .append("views", getViews())
                .append("sort", getSort())
                .append("isIndex", getIsIndex())
                .append("createdAt", getCreatedAt())
                .append("updatedAt", getUpdatedAt())
                .toString();
    }

}
